﻿using System;
using System.Collections.Generic;
using Medianamik.Core;

namespace Medianamik.UI.Web.MVP.View
{
    public interface INodeTypePropertyEditModuleView : IEditModuleViewBase
    {
        event EventHandler OnSave;

        Guid? TypeId { get; }

        short? MinLength { get; set; }
        short? MaxLength { get; set; }
        bool ValuesAreLocalized { get; set; }

        bool IsRequired { get; set; }

        Guid SelectedDataType { get; }
        Guid SelectedLookup { get; }
        string SelectedValidationExpression { get; }

        IEnumerable<PropertyDefinition> DataTypes { set; }
        IList<NodeType> LookupNodeTypes { get; set; }
        IEnumerable<PropertyValidationExpression> ValidationExpression { set; }

        IDictionary<string, string> NodeTypePropertyNameValuesByCulture { get; set; }
    }
}
